<?php
namespace ImiApp\Module\Member\Model\Base;

use Imi\Model\Model;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Table;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\Entity;

/**
 * 班级人员 基类
 * @Entity
 * @Table(name="sc_jigou_team", id={"id"})
 * @DDL("CREATE TABLE `sc_jigou_team` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `team_name` varchar(50) DEFAULT NULL COMMENT '班级名称',
  `team_description` varchar(255) DEFAULT NULL COMMENT '班级简介',
  `class_id` int(10) DEFAULT NULL COMMENT '课程id',
  `teacher_id` int(10) DEFAULT NULL COMMENT '老师id',
  `team_status` enum('0','1','2') DEFAULT '0' COMMENT '状态:0=未开始,1=开班中,2=结束',
  `admin_id` int(10) unsigned DEFAULT NULL,
  `nums` int(5) unsigned DEFAULT NULL COMMENT '班级人数',
  `pricetype_data` enum('1','2','3','4') DEFAULT '2' COMMENT '价格类型:1=每节课固定金额,2=每节课价格百分比,3=每节课上课人数*金额,4=每10节课一个价格',
  `price1` decimal(10,2) DEFAULT NULL COMMENT '固定金额',
  `price2` decimal(4,2) DEFAULT NULL COMMENT '百分比',
  `price3` decimal(6,2) DEFAULT NULL COMMENT '金额单价',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='班级人员'")
 * @property int $id 
 * @property string $teamName 班级名称
 * @property string $teamDescription 班级简介
 * @property int $classId 课程id
 * @property int $teacherId 老师id
 * @property string $teamStatus 状态:0=未开始,1=开班中,2=结束
 * @property int $adminId 
 * @property int $nums 班级人数
 * @property string $pricetypeData 价格类型:1=每节课固定金额,2=每节课价格百分比,3=每节课上课人数*金额,4=每10节课一个价格
 * @property float $price1 固定金额
 * @property float $price2 百分比
 * @property float $price3 金额单价
 */
abstract class ScJigouTeamBase extends Model
{
    /**
     * id
     * @Column(name="id", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true)
     * @var int
     */
    protected $id;

    /**
     * 获取 id
     *
     * @return int
     */ 
    public function getId()
    {
        return $this->id;
    }

    /**
     * 赋值 id
     * @param int $id id
     * @return static
     */ 
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * 班级名称
     * team_name
     * @Column(name="team_name", type="varchar", length=50, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $teamName;

    /**
     * 获取 teamName - 班级名称
     *
     * @return string
     */ 
    public function getTeamName()
    {
        return $this->teamName;
    }

    /**
     * 赋值 teamName - 班级名称
     * @param string $teamName team_name
     * @return static
     */ 
    public function setTeamName($teamName)
    {
        $this->teamName = $teamName;
        return $this;
    }

    /**
     * 班级简介
     * team_description
     * @Column(name="team_description", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $teamDescription;

    /**
     * 获取 teamDescription - 班级简介
     *
     * @return string
     */ 
    public function getTeamDescription()
    {
        return $this->teamDescription;
    }

    /**
     * 赋值 teamDescription - 班级简介
     * @param string $teamDescription team_description
     * @return static
     */ 
    public function setTeamDescription($teamDescription)
    {
        $this->teamDescription = $teamDescription;
        return $this;
    }

    /**
     * 课程id
     * class_id
     * @Column(name="class_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $classId;

    /**
     * 获取 classId - 课程id
     *
     * @return int
     */ 
    public function getClassId()
    {
        return $this->classId;
    }

    /**
     * 赋值 classId - 课程id
     * @param int $classId class_id
     * @return static
     */ 
    public function setClassId($classId)
    {
        $this->classId = $classId;
        return $this;
    }

    /**
     * 老师id
     * teacher_id
     * @Column(name="teacher_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $teacherId;

    /**
     * 获取 teacherId - 老师id
     *
     * @return int
     */ 
    public function getTeacherId()
    {
        return $this->teacherId;
    }

    /**
     * 赋值 teacherId - 老师id
     * @param int $teacherId teacher_id
     * @return static
     */ 
    public function setTeacherId($teacherId)
    {
        $this->teacherId = $teacherId;
        return $this;
    }

    /**
     * 状态:0=未开始,1=开班中,2=结束
     * team_status
     * @Column(name="team_status", type="enum", length=0, accuracy=0, nullable=true, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $teamStatus;

    /**
     * 获取 teamStatus - 状态:0=未开始,1=开班中,2=结束
     *
     * @return string
     */ 
    public function getTeamStatus()
    {
        return $this->teamStatus;
    }

    /**
     * 赋值 teamStatus - 状态:0=未开始,1=开班中,2=结束
     * @param string $teamStatus team_status
     * @return static
     */ 
    public function setTeamStatus($teamStatus)
    {
        $this->teamStatus = $teamStatus;
        return $this;
    }

    /**
     * admin_id
     * @Column(name="admin_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $adminId;

    /**
     * 获取 adminId
     *
     * @return int
     */ 
    public function getAdminId()
    {
        return $this->adminId;
    }

    /**
     * 赋值 adminId
     * @param int $adminId admin_id
     * @return static
     */ 
    public function setAdminId($adminId)
    {
        $this->adminId = $adminId;
        return $this;
    }

    /**
     * 班级人数
     * nums
     * @Column(name="nums", type="int", length=5, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $nums;

    /**
     * 获取 nums - 班级人数
     *
     * @return int
     */ 
    public function getNums()
    {
        return $this->nums;
    }

    /**
     * 赋值 nums - 班级人数
     * @param int $nums nums
     * @return static
     */ 
    public function setNums($nums)
    {
        $this->nums = $nums;
        return $this;
    }

    /**
     * 价格类型:1=每节课固定金额,2=每节课价格百分比,3=每节课上课人数*金额,4=每10节课一个价格
     * pricetype_data
     * @Column(name="pricetype_data", type="enum", length=0, accuracy=0, nullable=true, default="2", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $pricetypeData;

    /**
     * 获取 pricetypeData - 价格类型:1=每节课固定金额,2=每节课价格百分比,3=每节课上课人数*金额,4=每10节课一个价格
     *
     * @return string
     */ 
    public function getPricetypeData()
    {
        return $this->pricetypeData;
    }

    /**
     * 赋值 pricetypeData - 价格类型:1=每节课固定金额,2=每节课价格百分比,3=每节课上课人数*金额,4=每10节课一个价格
     * @param string $pricetypeData pricetype_data
     * @return static
     */ 
    public function setPricetypeData($pricetypeData)
    {
        $this->pricetypeData = $pricetypeData;
        return $this;
    }

    /**
     * 固定金额
     * price1
     * @Column(name="price1", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var float
     */
    protected $price1;

    /**
     * 获取 price1 - 固定金额
     *
     * @return float
     */ 
    public function getPrice1()
    {
        return $this->price1;
    }

    /**
     * 赋值 price1 - 固定金额
     * @param float $price1 price1
     * @return static
     */ 
    public function setPrice1($price1)
    {
        $this->price1 = $price1;
        return $this;
    }

    /**
     * 百分比
     * price2
     * @Column(name="price2", type="decimal", length=4, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var float
     */
    protected $price2;

    /**
     * 获取 price2 - 百分比
     *
     * @return float
     */ 
    public function getPrice2()
    {
        return $this->price2;
    }

    /**
     * 赋值 price2 - 百分比
     * @param float $price2 price2
     * @return static
     */ 
    public function setPrice2($price2)
    {
        $this->price2 = $price2;
        return $this;
    }

    /**
     * 金额单价
     * price3
     * @Column(name="price3", type="decimal", length=6, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var float
     */
    protected $price3;

    /**
     * 获取 price3 - 金额单价
     *
     * @return float
     */ 
    public function getPrice3()
    {
        return $this->price3;
    }

    /**
     * 赋值 price3 - 金额单价
     * @param float $price3 price3
     * @return static
     */ 
    public function setPrice3($price3)
    {
        $this->price3 = $price3;
        return $this;
    }

}
